package com.zk.dao;


import com.zk.model.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserDao{
//    用户登录
    User selectUser(@Param("userName") String name, @Param("userPsd") String password);
//    用户注册
    int RegisterUser(@Param("userName") String name,@Param("userPsd") String password,@Param("userAdress") String adress,@Param("userPhone") String phone,@Param("userAge") String age);
//    商品初始化
    Goods selectGoods(@Param("goodsId") Integer id);
//    添加购物车
    int addCart(@Param("cartUserid") Integer userId,@Param("cartGoodId") Integer goodId,@Param("cartNum") Integer num);
    //查看购物车
    List<Cart> selectCarts(@Param("UserId") Integer Userid);
    //添加订单
    int addOrder(@Param("goodId") Integer goodId,@Param("userId") Integer userId,@Param("orderId") String orderId,@Param("orderSum") Integer sum,@Param("orderTotalPrice") Integer totalPrice);
    //查看订单
    List<Order> selectOrders(@Param("userId") Integer userId);
    //查询商品
    List<Goods> selectGoodByName(@Param("name") String name);
    //修改收货地址
    int updateAdress(@Param("adress") String adress,@Param("phone") String phone,@Param("userId") Integer userId);
    //通过用户id来更新用户信息
    User renewUser(@Param("userId") Integer userId);
    //    添加评价
    int addPj(@Param("text") String text,@Param("userId") Integer userId,@Param("goodsId") Integer goodsId);
    // 通过商品id获取图片
    String selectImgById(@Param("goodsId") Integer goodsId);
    // 查询评价
    List<Pj> selectPj();
    // 只看我的评价
    List<Pj> myPj(@Param("userId") Integer userId);
//    下单后删除购物车里的数据
    void deleteGoods(@Param("userId") Integer userId,@Param("goodsId") Integer goodsId);
//    通过id获取系列号
    Integer selectSerialByGoodsId(@Param("goodsId") Integer goodsId);
//    获取商品库存
    Integer selectGoodsNum(@Param("goodsId") Integer goodsId);
//    更新库存
    void updateStock(@Param("goodsId") Integer goodsId,@Param("stock") Integer stock);
//    更新序列号
    int updateSerial(@Param("goodsId") Integer goodsId,@Param("serial") Integer serial);
}

